s = input("请输入一个数字")


def divide(s):
    try:
        # 正常情况,输入非零数字,走try里面的分支
        return 10 / int(s)
    # 异常分为很多种的原因是:针对不同的异常类型,做相应的处理:
    #   比如提示用户输入错误,重新输入,
    #   比如输入的内容非数字提示,
    #   比如文件不存在时,咨询用户是否创建新文件
    except ZeroDivisionError:
        # 异常情况,输入0,走except里面的分支
        return "除数为0错误"
    except ValueError:
        # 异常情况,输入非数字,走except里面的分支
        return "输入的不是数字"
    except:
        # 异常情况,输入其他错误,走except里面的分支
        return "其他错误"


print("10除以输入的数字后,结果为:", divide(s))

# 正常情况:程序会执行到最后一行并打印Bye
# 当用户输入出错的时候,比如输入了0,会导致出现 ZeroDivisionError
#       ===>   从而导致后续代码都得不到执行,程序直接退出
print("Bye!")